package com.liming.common.pojo.vo.cart.web;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.liming.common.pojo.vo.coupon.GoodCouponVO;
import com.liming.common.serializer.CentToYuanSerializer;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * @author liming
 * @date 2025/3/25
 */
@Data
@Schema(description = "用户购物车信息VO")
public class UserCartVO implements Serializable {

    @Schema(description = "优惠券名称")
    private String couponName;

    @Schema(description = "优惠券折扣金额")
    @JsonSerialize(using = CentToYuanSerializer.class)
    private Integer couponDiscountAmount;

    @Schema(description = "购物车总体金额")
    @JsonSerialize(using = CentToYuanSerializer.class)
    private Integer totalPrice;

    @Schema(description = "购物车优惠后价格")
    @JsonSerialize(using = CentToYuanSerializer.class)
    private Integer afterCouponTotalPrice;

    @Schema(description = "该购物车金额还差多少可以使用的更好的优惠券 可以没有 也可以有")
    private GoodCouponVO goodCouponVO;

    @Schema(description = "购物车中商品信息")
    private List<ProductInCartVO> productInCartVOList;
}
